今天首要進行的就是調整瞄準到攻擊的過程。
怪物調整過面向後,為了要讓部份UI做為正面提示,則會跟著轉動,但血格UI若是跟著轉動看起來很不清楚。看起來要再加入另一個轉向,讓血格等沒有方向考量的UI永遠對著玩家。
原先的瞄準後會丟出方塊進行定位點的呈現,在測試時一直擋住,先換成干擾性較少的呈現方式。
而整個攻擊流程的實際行為環節,整個移出,以另一個行為物件進行。和原先不同的地方在於,比如說玩家攻擊怪物,怪物拿到了一個事件(被攻擊)後進行行為處理,此處的行為暫為扣血後進行UI更新。
但改變後的行為則是以另一個物件進行處理,概念上相當等於額外開了一個運算用的Job/Task(當然這裡不會考量複雜的平行、多緒的問題),由此Task裡自行決定要怎麼樣去處理數值的調整
這樣的優點是在於直後只要增加行為物件,讓行為物件去進行運算,更新等動作,最後再以事件方式通知相關的物件其行為結束。
加上了道具掉落的機制,並試了數種呈現的方式
利用UIS裡的Random Drop元件,看起來有些差強人意,但也有可能是掉落的太密集所導致的,在沒有更好的呈現方式之前,暫時會以這個方式進行掉落品的主要機制。
有一點關於UIS需要特別記錄的就是若道具是Runtime再被填入到Inventory裡,會有RandomItemDropper裡ItemInfoProbabilityTable的初始化時間在Awake所造成時間差異的問題,唯一能夠解決的方法只能修改UIS裡這部份的程式碼。
怪物切入戰鬥的機制之前一直從缺,也試著慢慢地加進來。原則上是利用了VS裡的狀態機進行,但還再陸續的調整中。實作部份花一些時間,也沒有太特別需要記錄的地方。
今天能利用的時間不多,就此先行打住,看明日能否將道具UI放進來,接下來才有辦法順利進行魔法物品的施放。